Descrição
Este script surgiu da minha raiva ao ver o wget sofrendo para baixar a .iso do Resulinux 2.9 do site português. A conexão deles é péssima e não passa de 10, 15k. Aí volta e meia o wget fica "parado" em "nada por cento" a "não disponível bps" e sem adiantar meu lado (=baixar meu arquivo!).
Sabe o botão "recarregar" do navegador? Este script faz isso com o argumento fornecido a ele. Ele derruba o wget a cada 5 minutos para evitar a conexão travada e cria uma nova conexão.
CUIDADO: não rode outras instâncias do wget enquanto usar este script ou ele matará os outros processos.
Obs.: Você pode alterar o parâmetro "300" para algo maior, lembrando que este é o número de segundos que a conexão fica ativa antes de ser morta e reiniciar.
[ Download:
wgetreload ]
[
Enviar nova versão ]
[ Esconder código-fonte ]
#!/bin/sh
# wgetreload - recarrega o wget para evitar conexão stale (parada)
#
# Copyright (C) 2009 Valter Ferraz Sanches <vfs@mail.com>
# Sob GPL. veja www.gnu.org ou www.fsf.org
#
echo "Este script não verifica nada, saiba o que vai dizer a ele, pois é doido!"
echo "Insira a URL que deseja baixar: "
read URL
watch -n 300 killall wget &
# altere o valor 300 acima para algo maior ou menor se desejar, refere-se ao numero de segundos
# da conexão - no caso são 300s = 5min.
# baixando...
while [ 0 ]; do
wget --progress=dot -c $URL
done
Scripts recomendados
Numlock automático no Slackware
Verificando a versão mais recente do Wine via script
Shell script para duplicação de CD's
Servidor de ISO via samba
Cyber Script
Comentários
[1] Comentário enviado por
fabio em 08/10/2009 - 17:48h:
Sugestão para a próxima versão do script: dar um "du -s" no arquivo de download e armazenar o tamanho atual num arquivo em disco, na próxima execução, ler o arquivo e só reiniciar o wget caso o tamanho não tenha se alterado (stalled).
Um abraço.